Apache POI লাইব্রেরি ব্যবহার করে আপনি Word Templates তৈরি এবং ব্যবহার করতে পারেন। Word Templates হলো এমন ডকুমেন্ট যা একটি নির্দিষ্ট কাঠামো বা ফর্ম্যাট অনুসরণ করে, এবং পরবর্তীতে এই টেমপ্লেট ব্যবহার করে নতুন ডকুমেন্ট তৈরি করা যায়। টেমপ্লেট ব্যবহার করার সুবিধা হল, আপনি একই ধরনের ডকুমেন্ট বারবার তৈরি করতে পারেন, শুধুমাত্র কিছু নির্দিষ্ট তথ্য পরিবর্তন করে।
এখানে আমরা দেখাবো কীভাবে একটি Word Template তৈরি করা যায় এবং কিভাবে Apache POI দিয়ে তা ব্যবহার করা যায়।
ধরা যাক, আপনি একটি Certificate Template তৈরি করতে চান যা পরবর্তীতে বিভিন্ন নাম এবং তারিখ সহ ব্যবহার করা যাবে। প্রথমে একটি টেমপ্লেট তৈরি করতে হবে, যা placeholder টেক্সট ধারণ করবে। তারপর আপনি এই টেমপ্লেটটি ব্যবহার করে নতুন ডকুমেন্ট তৈরি করবেন।
{Name}
এবং {Date}
হল placeholder টেক্সট।এখন Apache POI ব্যবহার করে আমরা এই টেমপ্লেট থেকে একটি নতুন ডকুমেন্ট তৈরি করব, যেখানে {Name}
এবং {Date}
এর জায়গায় বাস্তবিক মান (নাম এবং তারিখ) প্রবেশ করবে।
import org.apache.poi.xwpf.usermodel.*;
import java.io.*;
import java.util.*;
public class WordTemplateExample {
public static void main(String[] args) {
try {
// টেমপ্লেট ফাইল লোড করা
FileInputStream templateFile = new FileInputStream("certificate_template.docx");
XWPFDocument templateDoc = new XWPFDocument(templateFile);
// টেমপ্লেটের সমস্ত প্যারাগ্রাফ খুঁজে বের করা
List<XWPFParagraph> paragraphs = templateDoc.getParagraphs();
// টেমপ্লেটের মধ্যে placeholder টেক্সট প্রতিস্থাপন করা
for (XWPFParagraph paragraph : paragraphs) {
for (XWPFRun run : paragraph.getRuns()) {
String text = run.getText(0);
if (text != null) {
// {Name} এবং {Date} প্রতিস্থাপন করা
text = text.replace("{Name}", "John Doe")
.replace("{Date}", "2024-12-17");
run.setText(text, 0);
}
}
}
// নতুন ডকুমেন্টটি সেভ করা
FileOutputStream out = new FileOutputStream("new_certificate.docx");
templateDoc.write(out);
out.close();
System.out.println("নতুন ডকুমেন্ট সফলভাবে তৈরি করা হয়েছে!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
{Name}
এবং {Date}
) আসল মানে প্রতিস্থাপন করা হয়।এই কোডটি একটি নতুন certificate ডকুমেন্ট তৈরি করবে, যেখানে {Name}
এবং {Date}
যথাক্রমে "John Doe" এবং "2024-12-17" দিয়ে প্রতিস্থাপিত হবে।
আপনি চাইলে Word Template-এ বিভিন্ন ধরনের placeholder ব্যবহার করতে পারেন, যেমন:
এই প্লেসহোল্ডারগুলির মান পরিবর্তন করতে আপনি কোডের মধ্যে replace() মেথড ব্যবহার করতে পারেন।
text = text.replace("{CompanyName}", "ABC Corp")
.replace("{EmployeeName}", "Jane Smith")
.replace("{Date}", "2024-12-17");
Apache POI লাইব্রেরি ব্যবহার করে আপনি Word Template তৈরি এবং ব্যবহার করতে পারেন। একটি টেমপ্লেট ডকুমেন্টে placeholder টেক্সট রেখে পরবর্তীতে সেই টেমপ্লেটটি ব্যবহার করে ডকুমেন্টের ভেতরে বাস্তবিক তথ্য যেমন নাম, তারিখ, বা অন্যান্য ডেটা প্রতিস্থাপন করা হয়। এই পদ্ধতিটি পুনরাবৃত্ত কাজকে সহজ এবং দ্রুত করে তোলে, এবং এটি কাস্টম ডকুমেন্ট তৈরির জন্য খুবই উপকারী।
common.read_more